home *** CD-ROM | disk | FTP | other *** search
/ The Games Machine 76 / XENIATGM66.iso / Indiana Jones / Indiana Jones.exe / RESOURCE / PREVIEW.GOB / cog_01_bab_cinematic_3.cog < prev    next >
Text File  |  1999-11-15  |  18KB  |  547 lines

  1. # Jones 3D Cog Script
  2. #
  3. # 01_BAB_Cinematic_3.cog
  4. #
  5. # Introduce Turner 
  6. #
  7. # [HB]
  8. #
  9. # (C) 1999 LucasArts Entertainment Company LLC. All Rights Reserved
  10. #
  11. # ==============================================================================
  12.  
  13. symbols
  14.  
  15. # ................................ MESSAGES ....................................
  16.  
  17.     message        startup
  18.     message        crossed
  19.     message        callback
  20.     
  21. # ................................ KEYFRAMES ...................................
  22.     
  23.     keyframe    in_PushHat=0in_figithat_4_4.key            local # 84x
  24.     keyframe    in_ArmsOut=0in_armsout_1_1.key            local
  25.     keyframe    in_leftout=0in_leftarm_1_1.key            local
  26.     keyframe    in_raiseHands=0in_stand1_bd_3.key        local
  27.     keyframe    in_handsUp=0in_stand3.key                local # replace
  28.     keyframe    in_pointBack=0in_pointback_3.key        local
  29.     keyframe    in_dropHands=0in_stand3_bd_1.key        local
  30.     keyframe    in_handsSide=0in_stand1.key                local
  31.     keyframe    in_armsCrossed=0in_stand2.key            local
  32.     keyframe    in_handsOnHips=0in_stand4.key            local
  33.     keyframe    in_crossArms=0in_stand1_bd_2.key           local
  34.     keyframe    in_handsToHips=0in_stand1_bd_4.key           local # 26x
  35.     keyframe    in_handsToSide=0in_stand4_bd_1.key           local
  36.     keyframe    in_kneelDown=0in_stand1_bd_6.key           local
  37.     keyframe    in_kneeling=0in_stand6.key                local
  38.     keyframe    in_kneel_to_stand=0in_stand6_bd_1.key    local
  39.     keyframe    in_shake=0in_hndshak_1_1.key            local
  40.     keyframe    in_getkey=0in_takeobj_1_1.key            local
  41.     
  42.     keyframe    grd_walk=2h_walk_fwd.key                local
  43.     keyframe    grd_holdrifle=2h_attack_pull_rifle.key    local
  44.     keyframe    grd_aimrifle=02h_aimgun.key                local
  45.     keyframe    grd_die1=02h_die1.key                    local
  46.     keyframe    grd_die2=02h_die2.key                    local
  47.  
  48.     keyframe    trn_handsHips=0tu_stand1.key            local
  49.     keyframe    trn_handsSide=0tu_stand3.key            local
  50.     keyframe    trn_shakeReady=0tu_stand7.key            local
  51.     keyframe    trn_handsToHips=0tu_stand3_bd_1.key        local # 20x
  52.     keyframe    trn_putawayGun=0tu_c_putgun_3_3.key        local # 84x
  53.     keyframe    trn_cia=0tu_rightgest_1_7.key            local # 15x
  54.     keyframe    trn_shake=0tu_hndshak_7_3.key            local
  55.     keyframe    trn_hopeless=0tu_hopeless_1_1.key        local # 90x
  56.     keyframe    trn_justspy=0tu_pointout_1_3.key        local # 169x
  57.     keyframe    trn_marduk=0tu_marduk_3_1.key            local
  58.     keyframe    trn_givekey=0tu_hndkey_1_1.key            local
  59.     keyframe    trn_patback=0tu_patback_1.key            local # 133x
  60.     keyframe    trn_leftUp=0tu_leftarm_1_1.key            local
  61.        
  62. # ................................. MODELS .....................................
  63.         
  64.     model          mod_in=gen_in_shirt.3do                    local
  65.     model          mod_grd=com_2h_kaki.3do                    local 
  66.     model        mod_trn=gen_tu.3do                        local
  67.     model       tu_gun=weap_tu_tokarev.3do              local
  68.     model       tu_hand=hand_in.3do                     local
  69.     
  70.     model       inhand_tukey=hand_in_tukey.3do          local
  71.     model       tuhand_tukey=hand_tu_tukey.3do          local
  72.     
  73.     model       tu_torso_nogun=torso_tu_nogun.3do       local
  74.  
  75. # ................................. SOUNDS .....................................
  76.     
  77.     sound        grd_halt=Bb04n01.wav                    local
  78.     sound        in_hithere=Bb04J02.wav                    local
  79.     sound        grd_shootspies=Bb04n03.wav                local
  80.     sound        in_wha=Bb04j04.wav                        local
  81.     sound        trn_welcome=Bb04t05.wav                    local
  82.     sound        trn_remember=Bb04t06.wav                local
  83.     sound        in_youstole=Bb04j07.wav                    local
  84.     sound        trn_commiefriends=Bb04t08a.wav            local # And our commie friends..."
  85.     sound        trn_whytapped=Bb04t08b.wav                local # That's why you got tapped..."
  86.     sound        trn_key=Bb04t09a.wav                    local
  87.     sound        trn_statue=Bb04t09b.wav                    local
  88.     sound        in_museum=Bb04j10.wav                    local
  89.     sound        trn_hive=Bb04t11.wav                    local
  90.     sound        in_ibet=Bb04j12.wav                        local
  91.     sound        silencer_shot=gen_pistol_fire.wav        local
  92.     sound       com_bodyfall=fol_bodyfall_fall.wav       local
  93.  
  94.     sound       surprise=mus_gen_surprisechord1.wav     local
  95.      
  96. # ................................ TEMPLATE ....................................
  97.     
  98.     template    bloodsplash=+pistol_hit                 local
  99.     template    rifle_item=simonov                      local
  100.  
  101. # ................................. THINGS .....................................
  102.  
  103.     thing        player                                    local
  104.                             
  105.     thing        indy                                    linkid=0
  106.     thing        turner                                    linkid=1
  107.     thing        guard                                    linkid=2
  108.     thing       splortpos
  109.                                                 
  110.     thing        in_mov_tgt1                              nolink
  111.     thing        in_mov_tgt2                              nolink
  112.     
  113.     thing        grd_mov_tgt1                            nolink
  114.     thing        grd_mov_tgt2                            nolink
  115.  
  116.     thing        trn_mov_tgt1                            nolink
  117.     thing        trn_mov_tgt2                            nolink
  118.     thing        trn_mov_tgt3                            nolink
  119.  
  120.     thing        cam_1                                    nolink
  121.     thing        cam_2                                    nolink
  122.     thing        cam_3                                    nolink
  123.     thing        cam_4                                    nolink
  124.     thing        cam_5                                    nolink
  125.     thing        cam_6                                    nolink
  126.     thing        cam_7                                    nolink
  127.     thing        cam_8                                    nolink
  128.     thing        bab3_poscam                                nolink
  129.     
  130.     thing        cam_look_tgt1                              nolink
  131.     thing        cam_look_tgt2                              nolink
  132.     thing        cam_look_tgt3                             nolink
  133.     thing        cam_look_tgt4                            nolink
  134.     thing        cam_look_tgt5                            nolink
  135.     thing        cam_look_tgt6                            nolink
  136.     thing        cam_look_tgt7                            nolink
  137.     thing        cam_look_tgt8                            nolink
  138.     
  139.     thing       door0
  140.                            
  141. # ............................... WORLD STUFF ..................................
  142.             
  143.     # material    gearMat=rigear.mat                        local
  144.     
  145.     surface        trigger                                 linkid=3
  146.                         
  147. # ................................ VARIABLES ...................................
  148.  
  149.     vector        camPos                                    local
  150.  
  151.     int            in_keyTrack1                            local
  152.     int            in_keyTrack2                            local
  153.  
  154.     int            grd_keyTrack1                            local
  155.  
  156.     int            trn_keyTrack1                            local
  157.     int            trn_keyTrack2                            local
  158.     int            trn_keyTrack3                            local
  159.  
  160.                         
  161.     int            in_ArmTrack                                local
  162.     int            trn_ArmTrack                            local
  163.             
  164.     int            in_swap=0                                local
  165.     int            trn_swap=0                                local
  166.                         
  167.     int            sender                                    local
  168.     int            cursound                                local
  169.     int            matAnimNum                                local
  170.     int            didThisBefore=0                            local
  171.  
  172.     int            curCam                                    local
  173.  
  174.     int            in_swapitem_1                            local
  175.     int            tu_swapitem_1                            local
  176.     int         tu_swapitem_2                           local
  177.  
  178.     int            in_headRate                                local
  179.     int            in_rotRate                                local
  180.     int            trn_rotRate                                local
  181.     int            grd_rotRate                                local
  182.         
  183.         cog                     BAB_Commie_Grid             #Added by JM
  184.     
  185. end
  186.  
  187. # ==============================================================================
  188.  
  189. code
  190.  
  191. # ..............................................................................
  192.  
  193. startup:
  194.  
  195.  
  196.     
  197.     return;
  198.  
  199. # ..............................................................................
  200.  
  201. crossed:
  202.  
  203.     if (didThisBefore)
  204.     {
  205.         return;
  206.     }
  207.  
  208.     player = GetLocalPlayerThing();
  209.     SetActorFlags(player, 0x200000);
  210.     StartCutscene(1);
  211.     didThisBefore = 1; # only perform this cut scene one time
  212.     curCam = GetCurrentCamera();    
  213.     
  214.     AISetCutsceneMode(guard);
  215.  
  216.     # Change player into state we want & disable...
  217.     MakeMeStop();
  218.     DeselectWeaponWait(player); # stow any weapon or lighter
  219.     Sleep(0.1);
  220.     CopyPlayerHolsters(player, indy);
  221.     in_headRate = GetThingMaxHeadVel(player);
  222.     in_rotRate = GetThingMaxRotVel(player);
  223.     SetThingFlags(player, 0x80000);
  224.  
  225.     # Prep actor indy...
  226.     ClearThingFlags(indy, 0x80000); # our actor
  227.     SetThingMaxHeadVel(indy, 200.0);
  228.     SetThingMaxRotVel(indy, 100.0);
  229.         
  230.     # Prep Guard...
  231.     ClearThingFlags(guard, 0x80000);
  232.     grd_rotRate = GetThingMaxRotVel(guard);
  233.     SetWeaponModel(guard, 22); # Simonov rifle
  234.     grd_keyTrack1 = PlayKey(guard, grd_holdrifle, 2, 0x14, 0);
  235.  
  236.     # Prep Turner...
  237.     trn_rotRate = GetThingMaxRotVel(turner);
  238.         
  239.     # Prep camera..
  240.     SetCameraLookInterp(2, 0); # kill pan & tilt mode
  241.     SetCameraPosInterp(2, 0); # kill dolly mode
  242.      
  243.     # Cut to shot of Indy in stairwell...
  244.     SetCameraFocus(2, cam_1);
  245.     SetCameraSecondaryFocus(2, cam_look_tgt1);
  246.     SetCurrentCamera(2);
  247.     SetCameraFOV(35, 0, 0.0);
  248.  
  249.     # Indy walks toward camera...
  250.     AISetMoveSpeed(indy, 1.1);
  251.     AISetLookThing(indy, guard); # look up the stairs
  252.     AISetMoveThing(indy, in_mov_tgt1, 0);
  253.  
  254.     # And a guard steps into frame to intercept him...
  255.     Sleep(0.5);
  256.     AISetMoveSpeed(guard, 1.1);
  257.     AISetLookThing(guard, indy);
  258.     AISetMoveThing(guard, grd_mov_tgt1, 1);
  259.  
  260.     # Guard:  "You, halt!"
  261.     PlaySoundLocal(surprise, 1, 0, 0, 0); # music
  262.     cursound = PlayVoice(guard, grd_halt, 1.0, 0);
  263.     AIWaitForStop(indy); # shot continues until Indy hits his mark
  264.     Sleep(0.1);
  265.     
  266.     # Prep camera here...
  267.     SetCameraLookInterp(2, 1); # enable pan & tilt mode
  268.     SetCameraPosInterp(2, 1); # enable dolly mode
  269.     SetCameraInterpSpeed(2, 6.0);
  270.     
  271.     # Indy raises his hands to surrender...
  272.     PlayKey(indy, in_raiseHands, 2, 0x12, 1);
  273.     in_keyTrack1 = PlayKey(indy, in_handsUp, 2, 0x10, 0);
  274.     WaitForSound(cursound);
  275.     
  276.     # Dolly closer to Indy: "Hey, open the door, I'm here to deliver dig stuff..."
  277.     cursound = PlayVoice(indy, in_hithere, 1.0, 0);
  278.     SetCameraFocus(2, cam_2);
  279.     SetCameraSecondaryFocus(2, cam_look_tgt2);
  280.     SetCameraFOV(30, 1, 6.0); # temp
  281.     Sleep(5.0);
  282.     PlayKey(indy, in_pointBack, 4, 0x12, 1);
  283.     WaitForSound(cursound);
  284.     Sleep(0.1); # plus a beat
  285.  
  286.     # Cut to guard...
  287.     SetCameraLookInterp(2, 0); # kill pan & tilt mode
  288.     SetCameraPosInterp(2, 0); # kill dolly mode
  289.     SetCameraFocus(2, cam_3);
  290.     SetCameraSecondaryFocus(2, cam_look_tgt3);
  291.     SetCameraFOV(32, 0, 0.0); # was 40, then 35
  292.     MoveToFrame(cam_3, 1, 0.7); # dolly anyway!
  293.     
  294.     # Guard: "You are spy...we shoot spies!"
  295.     cursound = PlayVoice(guard, grd_shootspies, 1.0, 0);
  296.     Sleep(1.0);
  297.     StopKey(guard, grd_keyTrack1, 0.0);
  298.     grd_keyTrack1 = PlayKey(guard, grd_aimrifle, 4, 0x14, 0);
  299.     WaitForSound(cursound);
  300.     Sleep(0.2);
  301.     PlaySoundLocal(silencer_shot, 1.0, 0.0, 0x0, 0);
  302.     CreateThing(bloodsplash, splortpos);
  303.     Sleep(0.1);
  304.  
  305.     # Guard starts to fall...
  306.     StopKey(guard, grd_keyTrack1, 0.0);
  307.     PlayKey(guard, grd_die1, 4, 0x12, 1);
  308.  
  309.     # Cut to Indy...
  310.     SetCameraFocus(2, cam_4);
  311.     SetCameraSecondaryFocus(2, cam_look_tgt4);
  312.     SetCameraFOV(35, 0, 0.0);
  313.     
  314.     # Guard finishes dying...
  315.     TeleportThing(guard, grd_mov_tgt2); # fall in the right spot
  316.     AISetLookThing(guard, indy); # keep the commie facing correctly
  317.     SetCollideType(guard, 0); # don't disturb the corpse!
  318.     grd_keyTrack1 = PlayKey(guard, grd_die2, 6, 0x14, 0);
  319.     Sleep(0.5);
  320.     PlaySoundLocal(com_bodyfall, 1.0, 0.0, 0x0, 0);
  321.     StopThing(guard);
  322.     StopKey(indy, in_keyTrack1, 0.5);
  323.     
  324.     # Indy:  "Wha--?"
  325.     Sleep(0.2);
  326.     PlayVoice(indy, in_wha, 1.0, 1);
  327.  
  328.     Sleep(0.5);
  329.     
  330.     # Indy approaches the fallen guard...
  331.     AISetLookThing(indy, cam_look_tgt5);
  332.     AISetMoveSpeed(indy, 2.0);
  333.     MoveToFrame(cam_look_tgt4, 1, 2.5); # tilt up
  334.     AISetMoveThing(indy, in_mov_tgt2, 1);
  335.     AISetLookThing(indy, trn_mov_tgt1);
  336.     AISetMoveSpeed(indy, 1.1);
  337.     Sleep(0.2);
  338.  
  339.     RestoreThingMesh(guard, -99);
  340.     CreateThing(rifle_item, cam_look_tgt5);
  341.  
  342.     # Cut to shot over Indy's shoulder...
  343.     SetCameraFocus(2, cam_5);
  344.     SetCameraSecondaryFocus(2, cam_look_tgt5);
  345.     SetCameraFOV(35, 0, 0.0);
  346.     TeleportThing(indy, in_mov_tgt2);
  347.     PlayKey(indy, in_kneelDown, 2, 0x12, 1);
  348.     in_keyTrack1 = PlayKey(indy, in_kneeling, 2, 0x14, 0);
  349.  
  350.     # Enter Turner...
  351.     ClearThingFlags(turner, 0x80010); # active and visible at last
  352.     tu_swapitem_1 = SetThingMesh(turner, 5, tu_gun, 0);
  353.     tu_swapitem_2 = SetThingMesh(turner, 0, tu_torso_nogun, 0);
  354.     AISetLookThing(turner, indy);
  355.     AISetMoveSpeed(turner, 1.0);
  356.     Sleep(0.01); # generate a frame
  357.     AISetMoveThing(turner, trn_mov_tgt1, 1); # wait until turner hits his mark
  358.  
  359.     # Indy looks up...
  360.     AIEnableHeadTracking(indy, turner);
  361.     
  362.     # Turner:  "Hello, Dr. Jones.  Welcome to Babel..."
  363.     cursound = PlayVoice(turner, trn_welcome, 1.0, 0);
  364.     Sleep(1.0);
  365.  
  366.     # Cut to Indy & Turner...
  367.     SetThingFlags(turner, 0x10); # briefly invisible to avoid a visible teleport
  368.     TeleportThing(turner, trn_mov_tgt2); # get our actors near each other
  369.     
  370.     AISetLookThing(indy, turner);
  371.     AISetLookThing(turner, indy);
  372.     ClearThingFlags(turner, 0x10); # turner visible again
  373.     SetCameraFocus(2, cam_6);
  374.     SetCameraSecondaryFocus(2, cam_look_tgt6);
  375.     SetCameraFOV(65, 0, 0.0);
  376.     StopKey(indy, in_keyTrack1, 0.0); # no longer kneeling
  377.     PlayKey(indy, in_kneel_to_stand, 2, 0x12, 1); # indy stands up
  378.     Sleep(0.5);
  379.     PlayKey(turner, trn_putawayGun, 4, 0x12, 0); # holster gun
  380.     Sleep(0.6);
  381.  
  382.     # Indy is dubious about this guy...
  383.     in_keyTrack1 = PlayKey(indy, in_armsCrossed, 2, 0x0, 0); # cycle
  384.     PlayKey(indy, in_crossArms, 4, 0x12, 0);
  385.     Sleep(1.05);
  386.   
  387.     RestoreThingMesh(turner, tu_swapitem_1);
  388.     RestoreThingMesh(turner, tu_swapitem_2);
  389.     AIDisableHeadtracking(indy);
  390.     Sleep(0.2);
  391.         
  392.     # Turner: "Remember?  C.I.A...?"
  393.     cursound = PlayVoice(turner, trn_remember, 1.0, 0);
  394.     Sleep(0.5);
  395.     trn_keyTrack3 = PlayKey(turner, trn_shakeReady, 2, 0x10, 0);
  396.     PlayKey(turner, trn_cia, 4, 0x12, 0);
  397.     Sleep(2.3);
  398.     StopKey(indy, in_keyTrack1, 0.5); # indy relaxes
  399.     WaitForSound(cursound);
  400.     
  401.     # Indy: "Ahh, you stole the cog wheel."
  402.     cursound = PlayVoice(indy, in_youstole, 1.0, 0);
  403.     
  404.     # Turner and Indy shake hands...
  405.     PlayKey(turner, trn_shake, 6, 0x12, 0); # turner shakes
  406.     PlayKey(indy, in_shake, 4, 0x12, 0); # indy shakes
  407.     # Sleep(0.1);
  408.     StopKey(turner, trn_keyTrack3, 0.0); # end shake stand
  409.  
  410.     trn_keyTrack2 = PlayKey(turner, trn_handsSide, 2, 0x10, 0); # hands at side
  411.     
  412.     # Turner: "And our Commie friends don't even know it's gone..."
  413.     WaitForSound(cursound);
  414.     cursound = PlayVoice(turner, trn_commiefriends, 1.0, 0);
  415.     StopKey(turner, trn_keyTrack2, 0.0); # stop hands at sides
  416.     trn_keyTrack1 = PlayKey(turner, trn_handsHips, 2, 0x0, 0); # prep hands back on hips
  417.     PlayKey(turner, trn_handsToHips, 4, 0x12, 0); # breakdown hands to hips
  418.     Sleep(2.5); # take a beat
  419.     
  420.     # Cut to Turner close up...
  421.     SetCameraFocus(2, cam_8);
  422.     SetCameraSecondaryFocus(2, cam_look_tgt8);
  423.     SetThingFlags(indy, 0x10); # indy is temporarily invisible
  424.     SetCameraFOV(35, 0, 0.0); # was 50, then 40
  425.     PlayKey(turner, trn_hopeless, 4, 0x12, 1); # trn rt-hand gesture takes 3 secs
  426.     Sleep(2.0);
  427.     WaitForSound(cursound);
  428.     cursound = PlayVoice(turner, trn_whytapped, 1.0, 0);
  429.     StopKey(turner, trn_keyTrack1, 0.0); # lose hands on hips
  430.     PlayKey(turner, trn_justspy, 4, 0x12, 1);
  431.     trn_keyTrack1 = PlayKey(turner, trn_handsHips, 2, 0x0, 0); # prep hands back on hips
  432.     PlayKey(turner, trn_handsToHips, 4, 0x12, 0); # breakdown hands to hips
  433.     
  434.     # Back to side two-shot...
  435.     WaitForSound(cursound);
  436.     ClearThingFlags(indy, 0x10); # indy visible again
  437.     SetCameraFocus(2, cam_6);
  438.     SetCameraSecondaryFocus(2, cam_look_tgt6);
  439.     SetCameraFOV(65, 0, 0.0);
  440.     
  441.     # Turner:  "This should get you through the door..."
  442.     tu_swapitem_1 = SetThingMesh(turner, 5, tuhand_tukey, 0); 
  443.     PlayKey(turner, trn_givekey, 4, 0x12, 0); # turner hands over key
  444.     Sleep(0.5);
  445.     cursound = PlayVoice(turner, trn_key, 1.0, 0);
  446.     Sleep(0.5);
  447.     PlayKey(indy, in_getkey, 4, 0x12, 0); # indy takes it
  448.     Sleep(0.75); # was 0.25
  449.     RestoreThingMesh(turner, tu_swapitem_1);
  450.     in_swapitem_1 = SetThingMesh(indy, 15, inhand_tukey, 0);
  451.     Sleep(1.5); # was 2.35
  452.     RestoreThingMesh(indy, in_swapitem_1);
  453.     WaitForSound(cursound);
  454.  
  455.     # Show key is taken, deactivate it again here...
  456.     ChangeInv(player, 103, 1.0);
  457.     SetInvAvailable(player, 103, 1);
  458.     JonesInvItemChanged(103);
  459.     Sleep(2.0);
  460.     
  461.        # Turner: "By the way, rumor has it they've found...gold Marduk..."
  462.     cursound = PlayVoice(turner, trn_statue, 1.0, 0);
  463.     Sleep(2.0);
  464.     PlayKey(turner, trn_marduk, 4, 0x12, 1);
  465.     WaitForSound(cursound);
  466.  
  467.     # Indy: "CIA runs a museum?"
  468.     cursound = PlayVoice(indy, in_museum, 1.0, 0);
  469.     PlayKey(indy, in_leftOut, 4, 0x12, 1); # indy gestures vaguely
  470.     WaitForSound(cursound);
  471.     
  472.     # Turner: "The Company runs a hive..."
  473.     PlayVoice(turner, trn_hive, 1.0, 0);
  474.     PlayKey(turner, trn_leftUp, 4, 0x12, 0);
  475.     Sleep(2.0);
  476.  
  477.     # Exit Turner...
  478.     SetThingMaxHeadVel(indy, 50.0);
  479.     PlayKey(turner, trn_patback, 4, 0x12, 0); # turner pats indy
  480.     Sleep(3.0);
  481.     AISetLookThing(indy, trn_mov_tgt3);
  482.     AIWaitForStop(indy);
  483.     in_keyTrack1 = PlayKey(indy, in_handsOnHips, 2, 0x0, 0);
  484.     PlayKey(indy, in_handsToHips, 4, 0x12, 0); # 0.87 sec
  485.     Sleep(0.5);
  486.     StopKey(turner, trn_keyTrack1, 0.0);
  487.     DestroyThing(turner);
  488.     
  489.     # Cut to close-up of Indy...
  490.     SetCameraFocus(2, cam_7);
  491.     SetCameraSecondaryFocus(2, cam_look_tgt7);
  492.     SetCameraFOV(30, 0, 0.0);
  493.     Sleep(0.4);
  494.     in_keyTrack2 = PlayKey(indy, in_PushHat, 4, 0x12, 0);
  495.     Sleep(1.0);
  496.  
  497.     # Indy: "I'll bet you are..."
  498.     PlayVoice(indy, in_ibet, 1.0, 0); 
  499.     Sleep(1.5); # to cover hat anim until...
  500.     StopKey(indy, in_keyTrack1, 0.5);
  501.     StopKey(indy, in_keyTrack2, 0.5);
  502.  
  503.     Sleep(0.5);
  504.  
  505.     # Clean up...
  506.     SetCameraLookInterp(2, 0); # kill pan & tilt mode
  507.     SetCameraPosInterp(2, 0); # kill dolly mode
  508.     
  509.     # TO DO:  the guard needs to be handled:  he's not really dead yet!
  510.  
  511.     # restore camera & player control...
  512.     TelePortThing(player, indy);
  513.     Sleep(0.01);
  514.     SetThingMaxHeadVel(indy, in_headRate);
  515.     SetThingMaxRotVel(indy, in_rotRate);
  516.     SetThingFlags(indy, 0x80000);
  517.     ClearThingFlags(player, 0x80000);
  518.     camPos = GetThingPos(bab3_poscam);
  519.     SetCameraPosition(1, camPos); # prep follow-cam to swing behind indy
  520.     Sleep(0.01);
  521.     SetCurrentCamera(curCam);
  522.     ResetCameraFOV(0, 0.0);
  523.  
  524.     EndCutscene();
  525.     RotatePivot(door0, 1, -1);
  526.     ClearActorFlags(player, 0x200000);
  527.     
  528.     SendMessage(BAB_Commie_Grid, User2);    //Added by JM
  529.     
  530.     return;
  531.  
  532. # ..............................................................................
  533.  
  534. callback:
  535.  
  536.     
  537.     return;
  538.  
  539. # ..............................................................................
  540.  
  541. timer:
  542.     
  543.  
  544.     return;
  545.     
  546. end
  547.